class A
{
    public int i;                 //这里的 i 是 A 事物的属性，如果未初始化会自动初始化
    public int j = 20;
    public int k = 10;
    public A(int m)
    {
        k = m;
    }
}
public class TestConstructor
{
    public static void main(String[] args)
    {
        //int i;                 //这里的 i 是函数里面的局部变量，如果不出初始化会 error
        A aa = new A(50);
        System.out.printf("%d\n%d\n%d\n%d\n", aa.i, aa.j, aa.k, aa.m);
    }
}
/*
最终
i = 0; j =20; k = 50;
说明：对属性的赋值顺序，首先是默认赋值，接下来是定义时赋值，再就是通过构造函数赋值
java 是一种强类型的语言，在做语法检查时不允许使用未初始化的变量，但是会对类中的属性赋初值
*/